#pragma once
#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>
#include<string.h>
typedef int datatype;
typedef struct que
{
	int val;
	struct que* next;
}quenode;
typedef struct queue
{
	quenode* phead;
	quenode* ptail;
	int size;
}queue;
void init(queue*ps);
void push(queue*ps,datatype x);
void pop(queue*ps);
datatype top(queue*ps);
bool empty(queue*ps);
int size(queue*ps);
void print(queue*ps);